<#assign superClass=""/>
<#assign superGeneric=""/>
<#if model.extendsSupperClass>
    <#assign superClass= "extends " + model.superClassName/>
    <#assign superGeneric= vmTools.buildGeneric(model.superGenericList)/>
</#if>
package ${packageName}.dao;

<#if style == 'pl-web' || style == 'mybatis-plus'>
import com.baomidou.mybatisplus.annotation.TableName;
</#if>
<#if model.basicApi>
import ${packageName}.dto.${model.firstUpperCaseName}Dto;
import ${packageName}.vo.${model.firstUpperCaseName};
</#if>
<#if model.importPackages??>
    <#list model.importPackages as pkg>
import ${pkg};
    </#list>
import org.springframework.stereotype.Repository;
import java.util.List;
</#if>

/**
 * @ClasssName ${model.firstUpperCaseName}Mapper
 * @Description ${model.comment}Mapper
 * @Author ${author}
 * @Date ${date}
 * @Version V1.0
 */
<#if model.annotations??>

    <#list model.annotations as annotation>
${annotation.name}${vmTools.buildAnnotayionProperties(annotation.properties)}
    </#list>
</#if>
<#--@TableName("${model.originalName}")-->
@Repository
public interface ${model.firstUpperCaseName}Dao ${superClass}${superGeneric} {

    <#if model.basicApi>
    List<${model.firstUpperCaseName}> selectList(${model.firstUpperCaseName}Dto ${model.firstLowerCaseName}Dto);

    void insert(${model.firstUpperCaseName}Dto ${model.firstLowerCaseName}Dto);

    void deleteById(${model.firstUpperCaseName}Dto ${model.firstLowerCaseName}Dto);

    void updateById(${model.firstUpperCaseName}Dto ${model.firstLowerCaseName}Dto);

    ${model.firstUpperCaseName} getById(${model.firstUpperCaseName}Dto ${model.firstLowerCaseName}Dto);
    </#if>
}
